package pruebas;

import java.util.ArrayList;

import juego.Botin;
import juego.Coordenada;
import juego.ExcepcionMismoElemento;
import juego.ExcepcionMuerto;
import juego.Movil;
import juego.TanqueEnergia;
import juego.Torpedo;
import juego.Tripulado;
import junit.framework.TestCase;


public class TestTanqueEnergia extends TestCase{
	
	public void testHuboContactoEfectivo(){
		
		Coordenada origen = new Coordenada(4,0);
		TanqueEnergia tanque = new TanqueEnergia(origen);
		Tripulado nave = new Tripulado();
		try {
			assertTrue (tanque.huboContacto(nave));
		} catch (ExcepcionMismoElemento e) {
			e.printStackTrace();
		}		
	};
	
	public void testNoHuboContactoEfectivo(){
		
		Coordenada origen = new Coordenada(0,0);
		TanqueEnergia tanque = new TanqueEnergia(origen);
		Tripulado nave = new Tripulado();
		try {
			assertFalse (tanque.huboContacto(nave));
		} catch (ExcepcionMismoElemento e) {
			e.printStackTrace();
		}		
	};
	
	public void testMejorar(){
		
		ArrayList<Movil> listaDeMoviles = new ArrayList<Movil>();
		ArrayList<Botin> listaDeBotines = new ArrayList<Botin>();
		Tripulado nave = new Tripulado();
		listaDeMoviles.add(nave);
		listaDeMoviles.add(new Torpedo(new Coordenada (10,3)));
		try {
			nave.actuar(listaDeMoviles, listaDeBotines);
		} catch (ExcepcionMuerto e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		assertEquals (21, nave.verResistencia());
		TanqueEnergia tanque = new TanqueEnergia(new Coordenada (0,0));
		tanque.mejorar(nave);
		assertEquals (27, nave.verResistencia());
	}

}
